package com.aizuda.boot.modules.common.constant.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 系统字段枚举
 *
 * @author hjw
 */
@Getter
@AllArgsConstructor
public enum SystemFieldsEnum {

    /**
     * 申请人
     */
    APPLY_PEOPLE("申请人", "apply_people"),
    /**
     * 合同名称
     */
    CONTRACT_NAME("合同名称", "contract_name"),
    /**
     * 对方
     */
    OPPOSITE("对方", "opposite"),
    /**
     * 我方
     */
    OUR("我方", "our"),
    /**
     * 合同编号
     */
    CONTRACT_NUMBER("合同编号", "contract_number"),
    /**
     * 合同类型
     */
    CONTRACT_TYPE("合同类型", "contract_type"),
    /**
     * 合同期限（开始时间）
     */
    CONTRACT_START_TIME("合同期限（开始日期）", "contract_start_time"),
    /**
     * 合同金额
     */
    ACCOUNT("合同金额", "account"),
    /**
     * 合同期限
     */
    CONTRACT_TIME_LIMIT("合同期限", "contract_time_limit"),
    /**
     * 合同说明
     */
    CONTRACT_DESC("合同说明", "contract_desc"),
    /**
     * 框架协议
     */
    FRAMEWORK_AGREEMENT("框架协议", "framework_agreement"),
    /**
     * 收支类型
     */
    PAYMENT_TYPE("收支类型", "payment_type"),
    /**
     * 计价方式
     */
    PRICING_MANNER("计价方式", "pricing_manner"),
    /**
     * 预估金额
     */
    ESTIMATED_AMOUNT("预估金额", "estimated_amount"),
    /**
     * 合同总金额
     */
    TOTAL_AMOUNT("合同总金额", "total_amount"),
    /**
     * 计费说明
     */
    BILLING_DESC("计费说明", "billing_desc"),
    /**
     * 合同期限类型
     */
    CONTRACT_TIME_LIMIT_TYPE("合同期限类型", "contract_time_limit_type"),
    /**
     * 合同期限说明
     */
    CONTRACT_TIME_LIMIT_DESC("合同期限说明", "contract_time_limit_desc"),
    /**
     * 合同期限（结束时间）
     */
    CONTRACT_END("合同期限（结束日期）", "contract_end"),
    /**
     * 对方字段组
     */
    OPPOSITE_GROUP("对方字段组", "opposite_group"),
    /**
     * 我方字段组
     */
    OUR_GROUP("我方字段组", "our_group"),
    /**
     * 主合同文件
     */
    MAIN_CONTRACT_FILE("主合同文件", "main_contract_file"),
    /**
     * 合同附件
     */
    CONTRACT_ATTACHMENT("合同附件", "contract_attachment"),
    /**
     * 其他附件
     */
    OTHER_ATTACHMENT("其他附件", "other_attachment"),
    /**
     * 申请日期
     */
    APPLY_DATE("申请日期", "apply_date"),
    /**
     * 创建方式
     */
    CREATE_TYPE("创建方式", "create_type"),
    /**
     * 合同经办人
     */
    CONTRACT_HANDLER("合同经办人", "contract_handler"),
    /**
     * 模版 id
     */
    TEMPLATE_ID("模版 id", "template_id"),
    /**
     * 付款计划
     */
    PAYMENT_SCHEDULE("付款计划", "payment_schedule"),
    /**
     * 履约类型
     */
    PAYMENT_PERFORMANCE_TYPE("履约类型", "payment_performance_type"),
    /**
     * 收款计划
     */
    RECEIVAL_SCHEDULE("收款计划", "receival_schedule"),
    /**
     * 履约类型
     */
    RECEIVAL_PERFORMANCE_TYPE("履约类型", "receival_performance_type"),
    /**
     * 履约事项
     */
    PAYMENT_PERFORMANCE_MATTERS("履约事项", "payment_performance_matters"),
    /**
     * 有无发票
     */
    INVOICE("有无发票", "invoice"),
    /**
     * 付款时间
     */
    PAYMENT_TIME("付款时间", "payment_time"),
    /**
     * 付款金额
     */
    PAYMENT_AMOUNT("付款金额", "payment_amount"),
    /**
     * 付款对象
     */
    PAYMENT_OBJECT("付款对象", "payment_object"),
    /**
     * 付款说明
     */
    PAYMENT_DESC("付款说明", "payment_desc"),
    /**
     * 履约事项
     */
    RECEIVAL_PERFORMANCE_MATTERS("履约事项", "receival_performance_matters"),
    /**
     * 收款时间
     */
    RECEIVAL_TIME("收款时间", "receival_time"),
    /**
     * 收款金额
     */
    RECEIVAL_AMOUNT("收款金额", "reveival_amount"),
    /**
     * 收款对象
     */
    RECEIVAL_OBJECT("收款对象", "reveival_object"),
    /**
     * 收款说明
     */
    RECEIVAL_DESC("收款说明", "reveival_desc"),
    /**
     * 主合同扫描件
     */
    CONTRACT_MAIN_FILE_SCAN("主合同扫描件", "contract_main_file_scan"),
    /**
     * 合同附件扫描件
     */
    CONTRACT_ATTACHMENT_SCAN("合同附件扫描件", "contract_attachment_scan"),
    /**
     * 货币类型
     */
    CURRENCY_TYPE("货币类型", "currency_type"),
    /**
     * 关联合同
     */
    LINKED_CONTRACT("关联合同", "linked_contract");

    private final String fieldName;

    private final String code;
}
